//devuelve las familias principales
function doAjaxPostGetAdelanteAdmin(id,nivel) {
	limpiarNivelSelector(nivel);
	seleccionarFamilia(nivel,id);
	getValorStockFamilia(id);
	var nombre = $('#nombre').val();
    $.ajax({
        type: "POST",
        url: contexPath + "/servicios/getAdelanteAdmin.htm",
        data: "cod_familia=" + id + "&nombre=" + nombre,
        success: function(response){
            // recuperamos la respuesta del servicio
        		var menu =  $.parseJSON(response);
        		var nuevoNivel = nivel+1;
        		if ((menu.tieneSubFamilias)&&(menu.familias.length>0)){
        			limpiarNivelesSuperiores(nivel);
        			limpiarArticulos();
	                subfamilias = "<ul id="+nuevoNivel+">";
	                for(var i=0 ; i < menu.familias.length ; i++){
	                	subfamilias += "<li id="+menu.familias[i].cod_familia+" onclick='doAjaxPostGetAdelanteAdmin("+menu.familias[i].cod_familia+","+nuevoNivel+")'><a>"+menu.familias[i].nombre+"</a></li>";
	                 }
	                subfamilias += "</ul>";
	                 $('#listas').append('<div class="familias" id="subfamilias'+nuevoNivel+'"></div>');
	                 $('#subfamilias'+nuevoNivel).html(subfamilias);
        		}	else if(menu.articulos!=null){
        			limpiarArticulos();
        			articulosInfo = "<ul id='articulos'>";
                    for(var i=0 ; i < menu.articulos.length ; i++){
                    	articulosInfo += "<li id="+menu.articulos[i].cod_articulo+" onclick='getArticuloAdmin("+menu.articulos[i].cod_articulo+")'><a>"+menu.articulos[i].nombre+"</a></li>";
                     }
                    articulosInfo += "</ul>";
                     $('#listas').append('<div class="familias" id="articulos"></div>');
                     $('#articulos').html(articulosInfo);
        		}  else {
        			limpiarNivelesSuperiores(nivel);
        			limpiarArticulos();
        		}
             
         },
         error: function(e){
             alert('Error: ' + e);
         }
    });
}

//update un articulo con stock y precio
function update(form) {
	var cod_articulo = $('#articulo').data('value');
    $.ajax({
        type: "POST",
        url: contexPath + "/servicios/updateArticulo.htm",
        data: "cod_articulo=" + cod_articulo + "&precio=" + $('#precio').val() + "&stock=" + $('#cantidad').val(),
        success: function(response){
            // recuperamos la respuesta del servicio
        	alert('Articulo modificado correctamente');
             
         },
         error: function(e){
             alert('Error: ' + e);
         }
    });
}
//crear nuevo articulo
function nuevoArticulo(form) {
    $.ajax({
        type: "POST",
        url: contexPath + "/servicios/nuevoArticulo.htm",
        data: "nombre=" + $('#nombreN').val() + "&precio=" + $('#precioN').val() + "&stock=" + $('#stockN').val() + "&cod_familia=" + $('#familiaN').val(),
        success: function(response){
            // recuperamos la respuesta del servicio
        	var res =  $.parseJSON(response);
        	if(res.valido){
        		limpiarFormArticulo();
        		$('#respuesta').html(res.respuesta);
        	} else {
        		$('#respuesta').html(res.respuesta);
        	}
             
         },
         error: function(e){
             alert('Error: ' + e);
         }
    });
}

//crear nuevo usuario
function nuevoUsuario(form) {
    $.ajax({
        type: "POST",
        url: contexPath + "/servicios/nuevoUsuario.htm",
        data: "nombre=" + $('#nombreN').val() + "&apellido=" + $('#apellidoN').val() + "&usuario=" + $('#usuarioN').val() + "&password=" + $('#passwordN').val() + "&rol=" + $('#rolN').val(),
        success: function(response){
            // recuperamos la respuesta del servicio
        	var res =  $.parseJSON(response);
        	if(res.valido){
        		limpiarFormUsuario();
        		$('#respuesta').html(res.respuesta);
        	} else {
        		$('#respuesta').html(res.respuesta);
        	}
             
         },
         error: function(e){
             alert('Error: ' + e);
         }
    });
}

//crear nuevo usuario
function cambiarUsuario(form) {
	var str = $('#cambiarUsuario').serialize();
	var id = $('#usuarioInfo').val();
    $.ajax({
        type: "POST",
        url: contexPath + "/servicios/cambiarUsuario.htm",
        data: str+"&id="+id,
        success: function(response){
            // recuperamos la respuesta del servicio
        	var res =  $.parseJSON(response);
        	if(res.valido){
        		$('#respuesta').html(res.respuesta);
        	} else {
        		$('#respuesta').html(res.respuesta);
        	}
             
         },
         error: function(e){
             alert('Error: ' + e);
         }
    });
}

//pedimos informacion del usuario al servicio web
function selectUsuario(id_usuario){
	$.ajax({
        type: "GET",
        url: contexPath + "/servicios/getUsuarioAdmin/"+id_usuario,
        data: "json",
        success: function(response){
            // recuperamos la respuesta del servicio
        		var usuarioResponse =  $.parseJSON(response);
        		mostrarUsuario(usuarioResponse, id_usuario);      
         },
         error: function(e){
             alert('Error: ' + e);
         }
    }); 
}


//pedimos informacion del articulo al servicio web
function getArticuloAdmin(cod_articulo){
	$.ajax({
        type: "GET",
        url: contexPath + "/servicios/getArticuloAdmin/"+cod_articulo,
        data: "json",
        success: function(response){
            // recuperamos la respuesta del servicio
        		var articuloResponse =  $.parseJSON(response);
        		
	            articulo = "<h1>"+articuloResponse.nombre+"</h1>";
	            articulo += "<img src=\"resources/images/valvula.jpg\" style=\"max-width:100%;\" width=\"250\" alt=\"Milford Sound in New Zealand\">";
	            articulo += '<form action="javascript:update(this.form)" name="articulo" id="updateArticulo">';
	            articulo += '<label>Precio:</label>';
	            articulo += '<input type="text" id="precio" name="precio" value="'+articuloResponse.precio+'" placeholder="'+articuloResponse.precio+'">';
	            articulo += '<label>Stock:</label>';
	            articulo += '<input type="text" id="cantidad" name="cantidad" value="'+articuloResponse.stock+'" placeholder="'+articuloResponse.stock+'">';
	            articulo+= '<button id="btnCambiar">Cambiar</button>';	
	            articulo += '</form>';
	            
	            
	            $('#articulo').remove();    
                $('#stock').append('<div class="articulo" id="articulo" data-value="'+articuloResponse.cod_articulo+'"></div>');
                $('#articulo').html(articulo);
        		
             
         },
         error: function(e){
             alert('Error: ' + e);
         }
    });
}

//pedimos informacion del valor y stock de una Familia entera
function getValorStockFamilia(cod_familia){
	$.ajax({
        type: "GET",
        url: contexPath + "/servicios/getFamiliaStock/"+cod_familia,
        data: "json",
        success: function(response){
            // recuperamos la respuesta del servicio
        		var res =  $.parseJSON(response);
        		
	            info = "<p>Stock Total de "+res.familia+": "+res.stock+"";
	            info += "<p>Valor Total de "+res.familia+": "+res.valor+"</p>";
	            
	                
                $('footer').append('<div id="stockFamilia"></div>');
                $('#stockFamilia').html(info);
        		
             
         },
         error: function(e){
             alert('Error: ' + e);
         }
    });
}

function seleccionarFamilia(nivel, id){
	$('ul#'+nivel+' li#'+id).css({"background-color":"red"});
}



function limpiarNivelSelector(nivelActual){
	$("ul#"+nivelActual+" li").each(function() {
	$(this).css({"background-color":""});
	});
}

//limpia todos los niveles
function limpiarNiveles(){
	localStorage.clear();
	localStorage.setItem(('nivel'),0);
}

function limpiarNivelesSuperiores(id){
	var nivelSuperior = id+1;
	var nivelMaximo = localStorage.getItem(('nivel'));
	for ( var int = nivelSuperior; int <= nivelMaximo; int++) {
		$('#subfamilias'+int).remove();
	}
	localStorage.setItem(('nivel'),nivelSuperior);
}

function limpiarArticulos(){
	$('#articulos').remove();
	$('#articulo').remove();
}

function limpiarFormArticulo(){
	$('#nombreN').val("");
	$('#stockN').val("");
	$('#precioN').val("");
}

function limpiarFormUsuario(){
	$('#nombreN').val("");
	$('#apellidoN').val("");
	$('#usuarioN').val("");
	$('#passwordN').val("");
}

//Boton de Cambiar
$('#btnCambiar').click(function() {
	alert("hrmrn");
		updateArticulo();
	return false;
});

//Helper function to serialize all the form fields into a JSON string
function formToJSON() {
	var articuloId = $('#articulo').data('value');
	return JSON.stringify({
		"cod_articulo": articuloId == "" ? null : articuloId, 
		"precio": $('#precio').val(), 
		"stock": $('#cantidad').val()
		});
}

//Mostrar usuario seleccionado
function mostrarUsuario(usuario, id_usuario){
	$('#usuarioInfo').show();
	$('#usuarioInfo').val(id_usuario);
	$('#nombreC').val(usuario.nombre);
	$('#apellidoC').val(usuario.apellido);
	$('#usuarioC').val(usuario.usuario);
	$('#passwordC').val(usuario.password);
	$('#rolC').val(usuario.rol);
}